/*
 * Copyright (C) 2012 POAS.VSTU
 */

package ui;


import model.CardPile;

import java.awt.Point;
import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.List;


/**
 * Колода карт как графический элемент. 
 * На самом деле она не имеет своего представления - это участок игровой панели,
 * занятый картами
 */
public class UICardPile {
    
    /** Модель стопки, с которой связано данное представление */
    private CardPile        mCardPleModel;
    
    /** Представления карт, входящих в стопку */
    ArrayList<UICard>       mCards;
    
    /**
     * Конструктор.
     * @param cardPlile модель стопки карт.
     */
    public UICardPile(CardPile cardPile) {
        mCardPleModel = cardPile;
    }
    
    /** Ориентация стопки */
    public Orientation getOrientation() {
        return Orientation.NORMAL;
    }
    
     /** Задать ориентацию стопки */
    public void  setOrientation(Orientation orientation) {
        
    }

    /** 
     * Повернуть стопку карт.
     * @param steps кол-во поворотов в шагах. Один шаг соответствует повороту на
     * 90 градусов. Положительные значения соответствуют повороту по часовой стрелке,
     * отрицательные - против часовой стрелки.
     */
    public void  rotate(int steps) {
        
    }
    
    /** Позиция */
    public Point getLocation() {
        return new Point();
    }

    /** Задать позицию */
    public void setLocation(Point p) {

    }
    
    /** Границы стопки */
    public Rectangle getBounds() {
        return new Rectangle();
    }   
    
    /** 
     * Достает заданные карты из стопки, визуализирует этот процесс.
     * @param cards извлекаемые карты
     */
    public void pop(List<UICard> cards) {
        
    }   
    
    /**
     * Подтаскивает карты к стопке, чтобы их можно было поместить в стопку, 
     * визуализирует этот процесс.
     * @param cards перетаскиваемые карты
     */
    public void dragIn(List<UICard> cards) {
        
    }   
    
    /** 
     * Помещает заданные карты в стопку, визуализирует этот процесс.
     * @param cards добавлемые карты
     */
    public void push(List<UICard> cards) {
        
    }
}
